package com.advertisementsystem.Servie;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

public interface IncomeService {

    /**
     * 获取设备拥有者的月度收入数据
     * @return 月度收入数据（包含总额和环比增长率）
     */
    Map<String, Object> getMonthlyIncome();

    /**
     * 获取设备拥有者的年度收入统计
     * @param year 年份，默认为当前年
     * @return 年度收入统计数据
     */
    Map<String, Object> getYearlyIncomeStats(Integer year);

    /**
     * 获取设备拥有者的收入明细
     * @param status 账单状态筛选，可选值：PAID, UNPAID, OVERDUE, ALL
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 分页收入明细
     */
    Page<Map<String, Object>> getIncomeDetails(String status, Integer pageNum, Integer pageSize);

    /**
     * 获取收入汇总信息
     * @return 收入汇总信息
     */
    Map<String, Object> getIncomeSummary();

    /**
     * 获取最近收入记录
     * @param limit 限制数量
     * @return 最近收入记录列表
     */
    List<Map<String, Object>> getRecentIncomeRecords(Integer limit);
}
